var fs=require('fs')
const { hasUncaughtExceptionCaptureCallback } = require('process')
var newsMsg='./msg.json'
var Comments='./comments.json'
var Category='./Category.json'
var PhotoList='./photolist.json'
var PhotoInfo='./photoinfo.json'
var Thumbs='./Thumbs.json'

//获取新闻简讯
exports.newsList=function(callback){
    fs.readFile(newsMsg,'utf8',function(err,data){
        if(err){
            return callback(err,undefined)
        }
        
        var message=JSON.parse(data)
        callback(null,message)
    })
}

//获取新闻详情
exports.newsinfo=function(id,callback){
    fs.readFile(newsMsg,'utf-8',function(err,data){
        if(err){
            return callback(err,undefined)
        }
        var msginfo=JSON.parse(data).msginfo

        //console.log(msginfo)
        //find()方法遍历查找
        var info=msginfo.find(function(item){
            return item.id===parseInt(id)
        })
        callback(null,info)
    })
}

//获取评论内容
exports.getcomments=function(id,callback){
    fs.readFile(Comments,'utf-8',function(err,data){
        if(err){
            return callback(err,undefined)
        }
        var comment=JSON.parse(data).comments[id-1]
        callback(null,comment)
        
    })
}

//获取图片分类导航条数据
exports.getcategory=function(callback){
    fs.readFile(Category,'utf-8',function(err,data){
        if(err){
            return callback(err,undefined)
        }
        var nav=JSON.parse(data)
        callback(null,nav)
    })
}
//获取图片
exports.getimages=function(id,callback){
    fs.readFile(PhotoList,'utf-8',function(err,data){
        var imgMsgs=[];
        if(err){
            return callback(err,undefined)
        }
        var imgs=JSON.parse(data).message

        if(id==0){
            callback(null,JSON.stringify(imgs))
           // console.log(imgs)
        }else{
            imgMsgs=[];
           // console.log(id)
            var imgMsg=imgs.find(function(item){
                return item.id===id
            })
            imgMsgs.unshift(imgMsg)
            //console.log(imgMsgs)
            callback(null,imgMsgs)
        }
    })
}

//获取图片详情
exports.photoinfo=function(id,callback){
      
    fs.readFile(PhotoInfo,'utf-8',function(err,data){
        if(err){
            return callback(err,undefined)
        }
        //获取图片详情数据,转为对象
        var allPhoto=JSON.parse(data).message
        //依据传入的id查找对应的数据
        var PhoInfo=allPhoto.find(function(item){
            return item.id===id
        })
       //console.log(PhoInfo)
        callback(null,PhoInfo)
    })
}

//获取缩略图数据
exports.Thumbs=function(id,callback){
    fs.readFile(Thumbs,'utf-8',function(err,data){
        if(err){
            return callback(err,undefined)
        }
        console.log('*****************')
       console.log(id)
        var thum=JSON.parse(data).message[id-1]
        console.log(thum)
        callback(null,thum)
    })
}

//添加提交的评论数据到数据库
exports.save=function(postcomment,callback){
    //1.先读取数据
    fs.readFile(Comments,'utf-8',function(err,data){
        if(err){
            return callback(err,undefined)
        }
        //2.获取数据库评论区域数据  （将字符串数据转为对象数据）
        var comment=JSON.parse(data).comments;
        //定义一个数组容器，接收发送过来的数据,再定义要保存的时间和用户名
        var msg=[];
        var user='匿名用户';
        var json={user_name:"匿名用户",add_time:Date.now()}
               //获取的到的评论数据的数据转为 对象  数据
        // var pC=JSON.parse(JSON.stringify(postcomment))//{"conter":"aaa"}=>{conter:"aaa"}
        getmsg=JSON.parse( (JSON.stringify(postcomment)+JSON.stringify(json) ) .replace(/}{/,','))
        
        //console.log(getmsg)

        msg.unshift(getmsg)
        //console.log(msg)
        //3.将提交的数据保存到数据文件最前(数组的格式)
        comment.unshift(msg)
        //console.log(comment)

        //4.将对象数据还原成字符串数据
        var backmsg=JSON.stringify(
            {
                 comments:comment
            })

        //将数据写入msg.json文件
        fs.writeFile(Comments,backmsg,function(err){
            if(err){
                //错误就把错误对象传递给它
                return callback(err)
            }
            //成功就没有错，使用错误对象就是null
            callback(null)
        })
    })  
}